//package mylibrary;
//
//import com.sun.btrace.annotations.BTrace;
//import com.sun.btrace.annotations.Location;
//import com.sun.btrace.annotations.Kind;
//import com.sun.btrace.annotations.OnMethod;
//import com.sun.btrace.annotations.ProbeClassName;
//import com.sun.btrace.annotations.ProbeMethodName;
//import com.sun.btrace.annotations.Return;
//import com.sun.btrace.annotations.Self;
//import com.sun.btrace.annotations.TargetInstance;
//import com.sun.btrace.annotations.TargetMethodOrField;
//
//import static com.sun.btrace.BTraceUtils.*;
//
//@BTrace public class TraceMethodArgsAndReturn {
//
////	@OnMethod(
////			clazz = "CaseObject",
////			method="execute",
////			location = @Location(Kind.RETURN)
////	)
//
//	@OnMethod(
//			clazz = "/org\\.apache.catalina\\..*/",
//			method="/.*/",
//			location=@Location(value=Kind.CALL, clazz="/.*/", method="/.*/")
//	)
//
//	
//	public static void traceExecute(@Self Object self, @ProbeClassName String pcm, @ProbeMethodName String pmn,
//            @TargetInstance Object instance, @TargetMethodOrField String method, String text) {
//		
////		println("call CaseObject.execute");
////		println(strcat("sleepTime is :", str(sleepTime)));
////		println(strcat("sleepTotalTime is:",str(get(field("CaseObject","sleepTotalTime"),instance))));
////		println(strcat("return value is:",str(result)));
//		
//		println(strcat("Context: ", strcat(pcm, strcat("#", pmn))));
//        print(method);
//        print(" ");
//        println(text);
//	}
//	
//}
